package com.steve.summary.tcc;

/**
 * @Author: STEVE
 * @Description: TCC参与者接口
 * @since: 2025-05-23
 */
public interface TccParticipant {

    /**
     * Try阶段：预留资源
     *
     * @param txId 全局事务ID
     * @param amount     操作金额
     * @return true表示预留成功
     */
    boolean tryExecute(String txId, int amount);

    /**
     * Confirm阶段：确认执行
     */
    boolean confirm(String txId);

    /**
     * Cancel阶段：补偿回滚
     */
    boolean cancel(String txId);

}
